home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / buttons / butnmstr / simple.frm < prev    next >
Text File  |  1994-12-12  |  4KB  |  106 lines

  1. VERSION 2.00
  2. Begin Form frmSimpleBar 
  3.    BorderStyle     =   1  'Fixed Single
  4.    Caption         =   "Form1"
  5.    ClientHeight    =   5280
  6.    ClientLeft      =   2760
  7.    ClientTop       =   2355
  8.    ClientWidth     =   7455
  9.    Height          =   5685
  10.    Left            =   2700
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   5280
  13.    ScaleWidth      =   7455
  14.    Top             =   2010
  15.    Width           =   7575
  16.    Begin PictureBox ButtonBar 
  17.       AutoRedraw      =   -1  'True
  18.       BorderStyle     =   0  'None
  19.       ClipControls    =   0   'False
  20.       Height          =   1116
  21.       Left            =   30
  22.       ScaleHeight     =   1110
  23.       ScaleWidth      =   2025
  24.       TabIndex        =   1
  25.       Top             =   90
  26.       Width           =   2028
  27.    End
  28.    Begin PictureBox Picture1 
  29.       AutoRedraw      =   -1  'True
  30.       AutoSize        =   -1  'True
  31.       BorderStyle     =   0  'None
  32.       Height          =   480
  33.       Left            =   30
  34.       Picture         =   SIMPLE.FRX:0000
  35.       ScaleHeight     =   480
  36.       ScaleWidth      =   7440
  37.       TabIndex        =   0
  38.       Top             =   2160
  39.       Width           =   7440
  40.    End
  41. End
  42. Option Explicit
  43.  
  44. ' Set these Constants by your Buttons Size As shown on the Status Bar
  45. Const ButtonWidth = 19      ' Button Width In pixels
  46. Const ButtonHeight = 16     ' Button Height In Pixels
  47.  
  48. ' How Many Buttons Wide And High is the ToolBar?
  49. Const BarWidth = 26         ' ToolBar Width In Buttons
  50. Const BarHeight = 1         ' ToolBar Height In Buttons
  51.  
  52. Const PIXELS = 3            ' Scalemode
  53. Dim ColX%, RowY%
  54.  
  55. ' Required for copying bitmaps
  56.  
  57. Declare Function BitBlt Lib "GDI" (ByVal hDestDC As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hSrcDC As Integer, ByVal XSrc As Integer, ByVal YSrc As Integer, ByVal dwRop As Long) As Integer
  58.  
  59. Sub ButtonBar_Click ()
  60.     ' Display what would normally be an event for processing
  61.     ' each button click event
  62.     '                           This is the Button Pressed
  63.     MsgBox "Button Index: " & Str$((RowY * BarWidth) + ColX)
  64. End Sub
  65.  
  66. Sub ButtonBar_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  67.     ' paste the down button image over the Up button currently displayed
  68.     Dim Success%
  69.     ' Calculate the position of the Down Button from the source bitmap that must be copied here
  70.     ColX = X \ ButtonWidth: RowY = Y \ ButtonHeight
  71.     Success = BitBlt(ButtonBar.hDC, ColX * ButtonWidth, RowY * ButtonHeight, ButtonWidth, ButtonHeight, Picture1.hDC, ButtonWidth * ColX, ButtonHeight * (RowY + BarHeight), &HCC0020)
  72.     ButtonBar.Picture = ButtonBar.Image
  73.     ' Make sure it's seen
  74.     ButtonBar.Refresh
  75. End Sub
  76.  
  77. Sub ButtonBar_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  78.     ' Restore the Up button image
  79.     Dim Success%
  80.     Success = BitBlt(ButtonBar.hDC, ColX * ButtonWidth, RowY * ButtonHeight, ButtonWidth, ButtonHeight, Picture1.hDC, ButtonWidth * ColX, ButtonHeight * RowY, &HCC0020)
  81.     ButtonBar.Picture = ButtonBar.Image
  82. End Sub
  83.  
  84. Sub Form_Load ()
  85.     Dim Success%
  86.     ButtonBar.Left = 0
  87.     ButtonBar.Top = 0
  88.     ' Size the target button bar
  89.     ButtonBar.Width = (ButtonWidth * Screen.TwipsPerPixelX) * BarWidth
  90.     ButtonBar.Height = (ButtonHeight * Screen.TwipsPerPixelY) * BarHeight
  91.     ' Then Size the form to the ButtonBar
  92.     Me.Height = (Me.Height - Me.ScaleHeight) + ButtonBar.ScaleHeight
  93.     Me.Width = ButtonBar.ScaleWidth + Screen.TwipsPerPixelX
  94.     ' Move the source bitmap out of the way
  95.     Picture1.Left = -10000
  96.     Picture1.Top = ButtonBar.Height
  97.     ScaleMode = PIXELS
  98.     Picture1.ScaleMode = PIXELS
  99.     ButtonBar.ScaleMode = PIXELS
  100.     ' Copy the main Bitmap (Buttons) to the destination minus the Down-Buttons
  101.     Success = BitBlt(ButtonBar.hDC, 0, 0, ButtonBar.Width, ButtonBar.Height, Picture1.hDC, 0, 0, &HCC0020)
  102.     ' Initialize the Picture Property
  103.     ButtonBar.Picture = ButtonBar.Image
  104. End Sub
  105.  
  106.